function [tri,X,Y,Z] = plot_FE_Base(type,V1,V2,V3,cal_d,plot_d)
if nargin<=1
    V1=[0;0];
    V2=[1;0];
    V3=[0;1];
    cal_d=3; plot_d=17;
end
if nargin == 0
    type=1;
end
[I,J,K] = indices(plot_d);
X = (I*V1(1) + J*V2(1) + K*V3(1))/plot_d;
Y = (I*V1(2) + J*V2(2) + K*V3(2))/plot_d;
top = 1; low = 0; bound = 6 ; inner = 5;
if type==1
    [phi,phi_dx,phi_dy] = eval_bb(cal_d, X' ,Y'); 
    top = 0.4; 
else
    [phi,phi_dx,phi_dy] = eval_lag(cal_d, X' ,Y'); 
    low = -0.3; bound = 5; inner = 6;
end
tri = make_mesh(plot_d);
length = size(phi,1);
figure('Position',[100,100,900,300]);
subplot(1,3,1);
trisurf(tri,X,Y,phi(1,:)); axis([0 1 0 1 low 1]);
subplot(1,3,2);
trisurf(tri,X,Y,phi(bound,:)); axis([0 1 0 1 low top]); % 6
subplot(1,3,3);
trisurf(tri,X,Y,phi(inner,:)); axis([0 1 0 1 0 top]); % 5